With the variety of devices available in today's market for capturing and playing videos, where each device supports capturing and/or playing videos at a different frame rate and format, videos are often stored at a frame rate and format that is different from the frame rate and format at which the videos are created or captured (i.e., the native frame rate and format). For example, many video capturing devices such as video camcorders store videos at 30 frames per second even though the videos are captured at 24 frames per second. Videos are also converted from one frame rate and format to another frame rate and format in order to be played by difference devices. For example, PAL televisions play interlaced videos at 50 fields per second (50i). On the other hand, NTSC televisions support playing interlaced videos at 60 fields per second (60i). Thus, for a movie that is captured at 24 frames per second to be played by one of these devices, the movie must first be converted to the different frame rate and format that is supported by the device.
Different frame rate conversion methods may be used to convert a video from one frame rate and format to another frame rate and format. Some conversion methods convert a video by repeating one or more frames or fields of the original video. In addition, some conversion methods interlace fields from different frames of the original video during the conversion process. Thus, a converted video may contain one or more repeated frames or fields from the original video. Also, a frame in the converted video may contain two fields that come from different frames in the original video.
When a video-editing application (e.g., Final Cut Pro®, iMovie®, etc.) receives a video from another device (such as a camera or a tape deck), it often converts the video back to the video's native frame rate and format before editing the video. As such, information about a video's native frame rate and format, and the conversion method used on the video (also known as encoding cadence) would be useful for a video-editing application. However, even though some video capturing devices (e.g., the Panasonic DVX100) embed the native frame rate information in each frame of the original video, the encoding cadence is often not recorded or lost during the frame rate conversion process.
Existing video-editing applications overcome this problem by using a variety of inefficient manual techniques for this conversion. For instance, some applications require their users to enter the encoding cadence manually. Some of these applications then have their users identify manually the first frame, while others use a timecode-technique that identifies the frames based on the embedded timecode. Requiring users to enter the encoding cadence is at times impractical, as the users might not know this information. Also, requiring the users to manually identify the first frame is inefficient since the user has to scroll through the video and identify the appropriate frame. In addition, the timecode-techniques for identifying the frame ID's can lead to inaccurate results when the timecode is not accurate. Therefore, it will be beneficial for a video-editing application to be able to automatically and accurately detect a video's native frame rate and the conversion method used on the video.